<!DOCTYPE html>
<html lang="en">
    <head prefix="og: https://ogp.me/ns#">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="color-scheme" content="light dark">
  
  <title>Linux常用命令 - Satellite</title>
  
    <link rel="shortcut icon" href="/favicon.png">
  
  
    <link rel='manifest' href='/manifest.json'>
  

  
  
  
  <meta property="og:title" content="Linux常用命令 - Satellite" />
  
  <meta property="og:type" content="article" />
  
  <meta property="og:url" content="http://example.com/2023/09/21/Linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/index.html" />
  
  <meta property="og:image" content="/favicon.png" />
  
  <meta property="og:article:published_time" content="2023-09-21T02:03:43.000Z" />
  
  <meta property="og:article:author" content="John Doe" />
  
  

  
<link rel="stylesheet" href="/css/var.css">

  
<link rel="stylesheet" href="/css/main.css">

  
<link rel="stylesheet" href="/css/typography.css">

  
<link rel="stylesheet" href="/css/code-highlighting.css">

  
<link rel="stylesheet" href="/css/components.css">

  
<link rel="stylesheet" href="/css/nav.css">

  
<link rel="stylesheet" href="/css/paginator.css">

  
<link rel="stylesheet" href="/css/footer.css">

  
<link rel="stylesheet" href="/css/post-list.css">

  
  
<link rel="stylesheet" href="/css/rainbow-banner.css">

  
  
  
<link rel="stylesheet" href="/css/toc.css">

  
  
  
  
  
<link rel="stylesheet" href="/css/post.css">

  
  
  
  
  

  
<meta name="generator" content="Hexo 6.3.0"></head>
    <body
        data-color-scheme="auto"
        data-uppercase-categories="true"
        
        data-rainbow-banner="true"
        data-rainbow-banner-shown="auto"
        data-rainbow-banner-month="6"
        data-rainbow-banner-colors="#e50000,#ff8d00,#ffee00,#008121,#004cff,#760188"
        
        data-config-root="/"
        
        data-toc="true"
        data-toc-max-depth="2"
        
        
    >
        <nav id="theme-nav">
    <div class="inner">
        <a class="title" href="/">Satellite&#39;s Blog</a>
        <div class="nav-arrow"></div>
        <div class="nav-items">
            <a class="nav-item nav-item-home" href="/">Home</a>
            
            
            <a class="nav-item" href="/archives">Archives</a>
            
            
            
            <a class="nav-item" href="/about">About</a>
            
            
            
            <a class="nav-item nav-item-github nav-item-icon" href="https://github.com/Satellite2426" target="_blank" aria-label="GitHub">&nbsp;</a>
            
            
        </div>
    </div>
</nav>
        
<article class="post">
    <div class="meta">
        

        
        <div class="date" id="date">
            <span>September</span>
            <span>21,</span>
            <span>2023</span>
        </div>
        

        <h2 class="title">Linux常用命令</h2>
    </div>

    <div class="divider"></div>

    <div class="content">
        <h1 id="Linux常用命令"><a href="#Linux常用命令" class="headerlink" title="Linux常用命令"></a>Linux常用命令</h1><h2 id="1-ls命令"><a href="#1-ls命令" class="headerlink" title="1. ls命令"></a>1. ls命令</h2><p>不仅可以查看 linux 文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ls [选项][目录名]</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li><code>-l</code> ：列出长数据串，包含文件的属性与权限数据等</li>
<li><code>-a</code> ：列出全部的文件，连同隐藏文件（开头为.的文件）一起列出来（常用）</li>
<li><code>-d</code> ：仅列出目录本身，而不是列出目录的文件数据</li>
<li><code>-h</code> ：将文件容量以较易读的方式（GB，kB等）列出来</li>
<li><code>-R</code> ：连同子目录的内容一起列出（递归列出），等于该目录下的所有文件都会显示出来</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.列出 home 目录下的所有文件和目录的详细资料：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">ls -a -l /home</span><br><span class="line">ls -al /home</span><br></pre></td></tr></table></figure>

<p>2.列出当前目录下所有以”d”开头的文件目录详情内容：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ls -l d*</span><br></pre></td></tr></table></figure>



<h2 id="2-cd命令"><a href="#2-cd命令" class="headerlink" title="2. cd命令"></a>2. cd命令</h2><p>最基本的命令语句，其他的命令语句要进行操作，都是建立在使用 cd 命令上的。用于切换当前目录至dirName。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cd [目录名]</span><br></pre></td></tr></table></figure>



<h2 id="3-pwd命令"><a href="#3-pwd命令" class="headerlink" title="3. pwd命令"></a>3. pwd命令</h2><p>查看”当前工作目录”的完整路径。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pwd [选项]</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-P :显示实际物理路径，而非使用连接（link）路径</li>
<li>-L :当目录为连接路径时，显示连接路径</li>
</ul>
<p><strong>实例</strong>：</p>
<ol>
<li><code>pwd</code>：显示当前所在路径：</li>
</ol>
<h2 id="4-mkdir命令"><a href="#4-mkdir命令" class="headerlink" title="4. mkdir命令"></a>4. mkdir命令</h2><p>用来创建指定的名称的目录，要求创建目录的用户在当前目录中具有写权限，并且指定的目录名不能是当前目录中已有的目录。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkdir [选项] 目录</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-m, –mode&#x3D;模式，设定权限&lt;模式&gt; (类似 chmod)，而不是 rwxrwxrwx 减 umask</li>
<li>-p, –parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;</li>
<li>-v, –verbose 每次创建新目录都显示信息</li>
<li>–help 显示此帮助信息并退出</li>
<li>–version 输出版本信息并退出</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.创建一个空目录：<code>mkdir test</code></p>
<p>2.递归创建多个目录：<code>mkdir test/test1</code></p>
<p>3.创建权限为777的目录：<code>mkdir -m 777 test2</code></p>
<p>4.创建目录都显示信息：<code>mkdir -v test4</code></p>
<h2 id="5-rm命令"><a href="#5-rm命令" class="headerlink" title="5. rm命令"></a>5. rm命令</h2><p>删除一个目录中的一个或多个文件或目录，如果没有使用- r选项，则rm不会删除目录。如果使用 rm 来删除文件，通常仍可以将该文件恢复原状。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">rm [选项] 文件</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-f, –force 忽略不存在的文件，从不给出提示。</li>
<li>-i, –interactive 进行交互式删除</li>
<li>-r, -R, –recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。</li>
<li>-v, –verbose 详细显示进行的步骤</li>
<li>–help 显示此帮助信息并退出</li>
<li>–version 输出版本信息并退出</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.删除文件 test.txt,系统会提示是否删除：<code>rm test.txt</code></p>
<p>2.强制删除 test.txt，系统不再提示：<code>rm -f test.txt</code></p>
<p>3.将 test 子目录及目录中所有档案删除：<code>rm -r test</code></p>
<h2 id="6-rmdir命令"><a href="#6-rmdir命令" class="headerlink" title="6. rmdir命令"></a>6. rmdir命令</h2><p>该命令从一个目录中删除一个或多个子目录项，删除某目录时也必须具有对父目录的写权限。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">rmdir [选项] 目录</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-p 递归删除目录dirname，当子目录删除后其父目录为空时，也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径，则系统在标准输出上显示相应的信息。</li>
<li>-v, –verbose 显示指令执行过程</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.删除空目录 test1，非空目录无法删除：<code>rmdir test1</code></p>
<p>2.当子目录被删除后使它也成为空目录的话，则顺便一并删除：<code>rmdir -p test2  # test 目录下仅有 test2</code></p>
<h2 id="7-mv命令"><a href="#7-mv命令" class="headerlink" title="7. mv命令"></a>7. mv命令</h2><p>可以用来移动文件或者将文件改名（move (rename) files）。当第二个参数类型是文件时，mv命令完成文件重命名。当第二个参数是已存在的目录名称时，源文件或目录参数可以有多个，mv命令将各参数指定的源文件均移至目标目录中。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mv [选项] 源文件或目录 目标文件或目录</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-b ：若需覆盖文件，则覆盖前先行备份</li>
<li>-f ：force 强制的意思，如果目标文件已经存在，不会询问而直接覆盖</li>
<li>-i ：若目标文件 (destination) 已经存在时，就会询问是否覆盖</li>
<li>-u ：若目标文件已经存在，且 source 比较新，才会更新(update)</li>
<li>-t ： –target-directory&#x3D;DIRECTORY move all SOURCE arguments into DIRECTORY，即指定mv的目标目录，该选项适用于移动多个源文件到一个目录的情况，此时目标目录在前，源文件在后</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.将 test1.txt 重命名为 test2.txt：<code>mv test1.txt test2.txt</code></p>
<p>2.移动文件 test1.txt 到目录 test2：<code>mv test1.txt test2</code></p>
<p>3.将文件 test1.txt、test2.txt、test3.txt 移动到目录 test3：<code>mv test1.txt test2.txt test3.txt test3</code></p>
<h2 id="8-cp命令"><a href="#8-cp命令" class="headerlink" title="8. cp命令"></a>8. cp命令</h2><p>将源文件复制至目标文件，或将多个源文件复制至目标目录。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cp [选项] 源文件 目录 或 cp [选项] -t 目录 源文件</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-t –target-directory 指定目标目录</li>
<li>-i –interactive 覆盖前询问（使前面的 -n 选项失效）</li>
<li>-n –no-clobber 不要覆盖已存在的文件（使前面的 -i 选项失效）</li>
<li>-f –force 强行复制文件或目录，不论目的文件或目录是否已经存在</li>
<li>-u –update 使用这项参数之后，只会在源文件的修改时间较目的文件更新时，或是对应的目的文件并不存在，才复制文件</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.复制文件 test1.txt 到 test1 目录：<code>cp test1.txt test1  # 若文件存在，会提示是否覆盖。若不存在直接完成复制</code></p>
<p>2.复制 test1 整个目录到 test2：<code>cp -a test1 test2</code></p>
<h2 id="9-touch命令"><a href="#9-touch命令" class="headerlink" title="9. touch命令"></a>9. touch命令</h2><p>touch命令参数可更改文档或目录的日期时间，包括存取时间和更改时间。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">touch [选项] 文件</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-a 或–time&#x3D;atime或–time&#x3D;access或–time&#x3D;use  只更改存取时间</li>
<li>-c 或–no-create  不建立任何文档</li>
<li>-d  使用指定的日期时间，而非现在的时间</li>
<li>-f  此参数将忽略不予处理，仅负责解决BSD版本touch指令的兼容性问题</li>
<li>-m 或–time&#x3D;mtime或–time&#x3D;modify  只更改变动时间</li>
<li>-r  把指定文档或目录的日期时间，统统设成和参考文档或目录的日期时间相同 -t  使用指定的日期时间，而非现在的时间</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.创建不存在的文件test.txt：<code>touch test.txt</code></p>
<p>2.更新 test.txt 的时间和 test1.txt 时间戳相同：<code>touch -r test.txt test1.txt</code></p>
<h2 id="10-cat命令"><a href="#10-cat命令" class="headerlink" title="10. cat命令"></a>10. cat命令</h2><p>用来显示文件内容，或者将几个文件连接起来显示，或者从标准输入读取内容并显示，它常与重定向符号配合使用。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cat [选项] [文件]</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-A, –show-all 等价于 -vET</li>
<li>-b, –number-nonblank 对非空输出行编号</li>
<li>-e 等价于 -vE</li>
<li>-E, –show-ends 在每行结束处显示 $</li>
<li>-n, –number 对输出的所有行编号,由1开始对所有输出的行数编号</li>
<li>-s, –squeeze-blank 有连续两行以上的空白行，就代换为一行的空白行</li>
<li>-t 与 -vT 等价</li>
<li>-T, –show-tabs 将跳格字符显示为 ^I</li>
<li>-u (被忽略)</li>
<li>-v, –show-nonprinting 使用 ^ 和 M- 引用，除了 LFD 和 TAB 之外</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.把 test.log 的文件内容加上行号后输入 test1.log 这个文件里：<code>cat -n test.log  test1.log</code></p>
<h2 id="11-nl命令"><a href="#11-nl命令" class="headerlink" title="11. nl命令"></a>11. nl命令</h2><p>输出的文件内容自动的加上行号！其默认的结果与 cat -n 有点不太一样， nl 可以将行号做比较多的显示设计，包括位数与是否自动补齐 0 等等的功能。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">nl [选项] [文件]</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-b ：指定行号指定的方式，主要有两种：</li>
<li>-b a ：表示不论是否为空行，也同样列出行号(类似 cat -n)</li>
<li>-b t ：如果有空行，空的那一行不要列出行号(默认值)</li>
<li>-n ：列出行号表示的方法，主要有三种：</li>
<li>-n ln ：行号在萤幕的最左方显示</li>
<li>-n rn ：行号在自己栏位的最右方显示，且不加 0</li>
<li>-n rz ：行号在自己栏位的最右方显示，且加 0</li>
<li>-w ：行号栏位的占用的位数</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.用 nl 列出 test.log 的内容：<code>nl test.log</code></p>
<p>2.用 nl 列出 test.log 的内容，空本行也加上行号：<code>nl -b a test.log</code></p>
<h2 id="12-more命令"><a href="#12-more命令" class="headerlink" title="12. more命令"></a>12. more命令</h2><p>more 命令和 cat 的功能一样都是查看文件里的内容，但有所不同的是more可以按页来查看文件的内容，还支持直接跳转行等功能。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>+n 从笫n行开始显示</li>
<li>-n 定义屏幕大小为n行</li>
<li>+&#x2F;pattern 在每个档案显示前搜寻该字串（pattern），然后从该字串前两行之后开始显示</li>
<li>-c 从顶部清屏，然后显示</li>
<li>-d 提示“Press space to continue，’q’ to quit（按空格键继续，按q键退出）”，禁用响铃功能</li>
<li>-l 忽略Ctrl+l（换页）字符</li>
<li>-p 通过清除窗口而不是滚屏来对文件进行换页，与-c选项相似</li>
<li>-s 把连续的多个空行显示为一行</li>
<li>-u 把文件内容中的下画线去掉</li>
</ul>
<p><strong>操作指令</strong>：</p>
<ul>
<li>Enter：向下n行，需要定义。默认为1行</li>
<li>Ctrl+F：向下滚动一屏</li>
<li>空格键：向下滚动一屏</li>
<li>Ctrl+B：返回上一屏</li>
<li>&#x3D; ：输出当前行的行号</li>
<li>：f ：输出文件名和当前行的行号</li>
<li>V ：调用vi编辑器</li>
<li>!命令 ：调用Shell，并执行命令</li>
<li>q ：退出more</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.显示文件 test.log 第3行起内容：more +3 test.log</p>
<p>2.从文件 test.log 查找第一个出现“day3”字符串的行，并从该处前2行开始显示输出：</p>
<p>3.设置每屏显示行数：more -5 test.log</p>
<h2 id="13-less命令"><a href="#13-less命令" class="headerlink" title="13. less命令"></a>13. less命令</h2><p>less 与 more 类似，但使用 less 可以随意浏览文件，而 more 仅能向前移动，却不能向后移动，而且 less 在查看之前不会加载整个文件。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">less [参数] 文件</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-b &lt;缓冲区大小&gt; 设置缓冲区的大小</li>
<li>-e 当文件显示结束后，自动离开</li>
<li>-f 强迫打开特殊文件，例如外围设备代号、目录和二进制文件</li>
<li>-g 只标志最后搜索的关键词</li>
<li>-i 忽略搜索时的大小写</li>
<li>-m 显示类似more命令的百分比</li>
<li>-N 显示每行的行号</li>
<li>-o &lt;文件名&gt; 将less 输出的内容在指定文件中保存起来</li>
<li>-Q 不使用警告音</li>
<li>-s 显示连续空行为一行</li>
<li>-S 行过长时间将超出部分舍弃</li>
<li>-x &lt;数字&gt; 将“tab”键显示为规定的数字空格</li>
</ul>
<p><strong>操作命令</strong>：</p>
<ul>
<li>&#x2F;字符串：向下搜索“字符串”的功能</li>
<li>?字符串：向上搜索“字符串”的功能</li>
<li>n：重复前一个搜索（与 &#x2F; 或 ? 有关）</li>
<li>N：反向重复前一个搜索（与 &#x2F; 或 ? 有关）</li>
<li>b 向后翻一页</li>
<li>d 向后翻半页</li>
<li>h 显示帮助界面</li>
<li>Q 退出less 命令</li>
<li>u 向前滚动半页</li>
<li>y 向前滚动一行</li>
<li>空格键 滚动一行</li>
<li>回车键 滚动一页</li>
<li>[pagedown]： 向下翻动一页</li>
<li>[pageup]： 向上翻动一页</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.查看文件 test.log：<code>less test.log</code></p>
<h2 id="14-head命令"><a href="#14-head命令" class="headerlink" title="14. head命令"></a>14. head命令</h2><p>head 用来显示档案的开头至标准输出中，默认 head 命令打印其相应文件的开头 10 行。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">head [参数] [文件]</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-q 隐藏文件名</li>
<li>-v 显示文件名</li>
<li>-c&lt;字节&gt; 显示字节数</li>
<li>-n&lt;行数&gt; 显示的行数</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.显示文件 test.log 的前 5 行：<code>head -n 5 test.log</code></p>
<p>2.显示文件 test.log 前 20 个字节：<code>head -c 20 test.log</code></p>
<h2 id="15-tail命令"><a href="#15-tail命令" class="headerlink" title="15. tail命令"></a>15. tail命令</h2><p>显示指定文件末尾内容，不指定文件时，作为输入信息进行处理。常用查看日志文件。格式如下：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">tail [必要参数] [选择参数] [文件]</span><br></pre></td></tr></table></figure>

<p><strong>常用参数</strong>：</p>
<ul>
<li>-f 循环读取</li>
<li>-q 不显示处理信息</li>
<li>-v 显示详细的处理信息</li>
<li>-c&lt;数目&gt; 显示的字节数</li>
<li>-n&lt;行数&gt; 显示行数</li>
<li>–pid&#x3D;PID 与-f合用,表示在进程ID,PID死掉之后结束.</li>
<li>-q, –quiet, –silent 从不输出给出文件名的首部</li>
<li>-s, –sleep-interval&#x3D;S 与-f合用,表示在每次反复的间隔休眠S秒</li>
</ul>
<p><strong>实例</strong>：</p>
<p>1.显示文件 test.log 最后 5 行内容：<code>tail -n 5 test.log</code></p>
<p>2.循环查看文件内容：<code>tail -f test.log</code></p>

    </div>

    
    <div class="about">
        <h1>About this Post</h1>
        <div class="details">
            <p>This post is written by John Doe, licensed under <a target="_blank" rel="noopener" href="https://creativecommons.org/licenses/by-nc/4.0">CC BY-NC 4.0</a>.</p>
        </div>
        
        <p class="tags text-capitalize">
            
            <i class="icon"></i>
            <a href="/tags/Linux/" class="tag">#Linux</a>
        </p>
        
    </div>
    

    <div class="container post-prev-next">
        
        <a href="/2023/09/21/%E6%95%B0%E7%BB%84/" class="next">
            <div>
                <div class="text">
                    <p class="label">Next</p>
                    <h3 class="title">数组</h3>
                </div>
            </div>
        </a>
        
        
        <a href="/2023/09/12/%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE/" class="prev">
            <div>
                <div class="text">
                    <p class="label">Previous</p>
                    <h3 class="title">第一篇文章</>
                </div>
            </div>
        </a>
        
    </div>

    
        
        
    
</article>

        <footer>
    <div class="inner">
        <div class="links">
            
            <div class="group">
                <h2 class="title">Blog</h2>
                
                <a href="/" class="item">Blog</a>
                
                <a href="/archives" class="item">Archives</a>
                
                <a href="/tags" class="item">Tags</a>
                
                <a href="/categories" class="item">Categories</a>
                
                <a href="/about" class="item">About</a>
                
            </div>
            
            <div class="group">
                <h2 class="title">Projects</h2>
                
                <a target="_blank" rel="noopener" href="https://github.com/MrWillCom/rsa-cli" class="item">RSA CLI</a>
                
                <a target="_blank" rel="noopener" href="https://github.com/MrWillCom/hexo-theme-cupertino" class="item">Hexo Theme Cupertino</a>
                
                <a target="_blank" rel="noopener" href="https://github.com/MrWillCom/a-calendar" class="item">A Calendar</a>
                
                <a target="_blank" rel="noopener" href="https://github.com/MrWillCom/auto-mirroring-bucket" class="item">Auto Mirroring Bucket</a>
                
            </div>
            
            <div class="group">
                <h2 class="title">Me</h2>
                
                <a target="_blank" rel="noopener" href="https://github.com/Satellite2426" class="item">GitHub</a>
                
                <a href="mailto:chaoshihan2426@gmail.com" class="item">Email</a>
                
            </div>
            
        </div>
        <span>&copy; 2023 John Doe<br>Powered by <a href="http://hexo.io/" target="_blank">Hexo</a> </span>
        
        
            <br>
            <div class="color-scheme-toggle" role="radiogroup" id="theme-color-scheme-toggle">
                <label>
                    <input type="radio" value="light">
                    <span>Light</span>
                </label>
                <label>
                    <input type="radio" value="dark">
                    <span>Dark</span>
                </label>
                <label>
                    <input type="radio" value="auto">
                    <span>Auto</span>
                </label>
            </div>
        
    </div>
</footer>


        
<script src="/js/main.js"></script>

        
        
        

        
        <script src="https://unpkg.com/scrollreveal"></script>
        <script>
            window.addEventListener('load', () => {
                ScrollReveal({ delay: 250, reset: true, easing: 'cubic-bezier(0, 0, 0, 1)' })
                ScrollReveal().reveal('.post-list-item .cover-img img')
                ScrollReveal().reveal('.post-list-item, .card, .content p img, .content .block-large img', { distance: '60px', origin: 'bottom', duration: 800 })
            })
        </script>
        
    </body>
</html>